<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    
    <title>docker常用命令 | 王鹏的技术博客</title>
    
    
        <meta property="og:site_name" content="王鹏的技术博客">
    
    
        <meta property="article:author" content="王 鹏">
    
    
        <link rel="icon" href="/mhexo/img/favicon.ico">
    
    
<link rel="stylesheet" href="/mhexo/css/minireset.min.css">

    
<link rel="stylesheet" href="/mhexo/css/all.min.css">

    
<link rel="stylesheet" href="/mhexo/css/csshake.min.css">

    
<link rel="stylesheet" href="/mhexo/css/hljs/lioshi.css">

    
<link rel="stylesheet" href="/mhexo/css/jquery.fancybox.min.css">

    
<link rel="stylesheet" href="/mhexo/styl/main.css">

    
<script src="/mhexo/js/jquery.min.js"></script>

    
<script src="/mhexo/js/highlight.min.js"></script>

    
<script src="/mhexo/js/jquery.fancybox.min.js"></script>

    
<script src="/mhexo/js/clipboard.min.js"></script>

<meta name="generator" content="Hexo 5.2.0"></head>
<body>
    <header>
  <div class="outer">
    <div class="inner">
      <h1 class="logo-wrap">
        <a>王鹏的技术博客<b><sup>1.1</sup></b></a>
      </h1>
    </div>
    <div class="inner">
      <nav class="main-nav">
        
          <a href="/mhexo/">首页</a>
        
          <a href="/mhexo/archives">归档</a>
        
          <a href="/mhexo/categories">分类</a>
        
          <a href="/mhexo/tags">标签</a>
        
          <a href="/mhexo/friends">友链</a>
        
          <a href="/mhexo/about">关于</a>
        
          <a target="_blank" rel="noopener" href="https://www.baidu.com">百度</a>
        
      </nav>
    </div>
  </div>
</header>
    <div class="content">
        <section class="outer">
    <article>
        <div class="article-title">
    <h2>
        <a href="/mhexo/2020/12/15/docker%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/" class="shake shake-little" title="docker常用命令">
            
            docker常用命令
        </a>
    </h2>
    <div class="meta_box">
    
        
        
            
                
        
        <div class="meta meta_auth">
            <img src="/mhexo/img/default.png" alt="head" />
            <p>anonymous</p>
        </div>
    
        
        
        <div class="meta meta_date">
            <i class="fas fa-calendar-alt fa-fw" aria-hidden="true"></i>
            <p>发布于：2020年12月15日</p>
        </div>
    
        <div class="meta meta_update">
            <i class="fas fa-edit fa-fw" aria-hidden="true"></i>
            <p>更新于：2020年12月15日</p>
        </div>
    </div>
    

</div>

        <hr>
        <div class="article-entry">
            
            
            
            <h3 id="docker常用命令"><a href="#docker常用命令" class="headerlink" title="docker常用命令"></a>docker常用命令</h3><p>　　<strong>1、docker镜像管理常用命令</strong></p>
<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">[root@linux-node4 diff]# docker help                           # 查看docker帮助</span><br><span class="line">[root@linux-node4 diff]# docker image --help                   # 查看 docker中 镜像相关帮助</span><br><span class="line">[root@linux-node4 diff]# docker image ls                       # 查看当前所有镜像</span><br><span class="line">[root@linux-node4 diff]# docker image inspect nginx            # 查看指定镜像（nginx镜像）详细信息</span><br><span class="line">[root@linux-node4 diff]# docker pull nginx:1.14                # 下载指定版本镜像 nginx</span><br><span class="line">[root@linux-node4 diff]# docker image rm nginx:1.14            # 删除nginx 1.14版本</span><br><span class="line">[root@linux-node4 diff]# docker image save nginx &gt; nginx.tar   # 导出niginx镜像</span><br></pre></td></tr></table></figure>

<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<p>　　<strong>2、docker创建容器常用命令</strong></p>
<p><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="img"></p>
<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">-d   # 后台运行容器，并返回容器ID；</span><br><span class="line">-i   # 以交互模式运行容器，通常与 -t 同时使用；</span><br><span class="line">-t   # 为容器重新分配一个伪输入终端，通常与 -i 同时使用；</span><br><span class="line">-P   # 随机端口映射，容器内部端口随机映射到主机的高端口</span><br><span class="line">-p   # 指定端口映射，格式为：主机(宿主)端口:容器端口</span><br><span class="line">--name&#x3D;&quot;nginx-lb&quot;   # 为容器指定一个名称；</span><br><span class="line">--dns 8.8.8.8       # 指定容器使用的DNS服务器，默认和宿主一致；</span><br></pre></td></tr></table></figure>

<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="img"></p>
<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">--dns-search example.com: 指定容器DNS搜索域名，默认和宿主一致；</span><br><span class="line"></span><br><span class="line">-h &quot;mars&quot;: 指定容器的hostname；</span><br><span class="line"></span><br><span class="line">-e username&#x3D;&quot;ritchie&quot;: 设置环境变量；</span><br><span class="line"></span><br><span class="line">--env-file&#x3D;[]: 从指定文件读入环境变量；</span><br><span class="line"></span><br><span class="line">--cpuset&#x3D;&quot;0-2&quot; or --cpuset&#x3D;&quot;0,1,2&quot;: 绑定容器到指定CPU运行；</span><br><span class="line"></span><br><span class="line">-m :设置容器使用内存最大值；</span><br><span class="line"></span><br><span class="line">--net&#x3D;&quot;bridge&quot;: 指定容器的网络连接类型，支持 bridge&#x2F;host&#x2F;none&#x2F;container: 四种类型；</span><br><span class="line"></span><br><span class="line">--link&#x3D;[]: 添加链接到另一个容器；</span><br><span class="line"></span><br><span class="line">--expose&#x3D;[]: 开放一个端口或一组端口；</span><br><span class="line"></span><br><span class="line">--volume , -v:    绑定一个卷</span><br><span class="line"></span><br><span class="line">-a stdin: 指定标准输入输出内容类型，可选 STDIN&#x2F;STDOUT&#x2F;STDERR 三项；</span><br></pre></td></tr></table></figure>

<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">[root@linux-node4 diff]# docker run --help                              # 查看创建容器帮助</span><br><span class="line">[root@linux-node4 diff]# docker run -it centos                          # 创建centos镜像并进入终端</span><br><span class="line">[root@linux-node4 diff]# docker run -d nginx                            # 后台启动nginx容器</span><br><span class="line">[root@linux-node4 diff]# docker stop 6bb09dce461f                       # 关闭一个容器</span><br><span class="line">[root@linux-node4 diff]# docker ps -l                                         # 查看最近运行的容器</span><br><span class="line">[root@linux-node4 diff]# docker run -itd centos                         # 启用一个伪终端守护centos容器</span><br><span class="line">[root@linux-node4 diff]# docker container run -d --name web3 -e test&#x3D;123456 -p 8800:80 -h webhostname --restart always nginx</span><br><span class="line">-d                   # 后台启动nginx容器</span><br><span class="line">--name web3          # 自定义容器名字(默认会是一段随机字符串)</span><br><span class="line">-e test&#x3D;123456       # 启动容器添加变量 test&#x3D;123456 (echo $test)</span><br><span class="line">-p 8800:80           # 宿主机的8800端口映射到docker容器的80端口中</span><br><span class="line">-h webhostname       # docker容器主机名 (a300f394af88)</span><br><span class="line">--restart always     # 宿主机重启自动拉起这个docker容器</span><br><span class="line">nginx                # 使用这个nginx镜像启动容器</span><br><span class="line">注：http:&#x2F;&#x2F;192.168.56.12:8800&#x2F;     访问这个docker  nginx</span><br><span class="line">[root@linux-node4 diff]# docker logs web                                 # 查看上面启动的web容器的日志</span><br><span class="line">[root@linux-node4 diff]# docker exec -it web bash                        # 进入容器web</span><br></pre></td></tr></table></figure>

<p><a href="javascript:void(0);"><img src="https://common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></p>
<p>　　<strong>3、容器资源限制</strong></p>
<p>　　　　<strong>1. 内存限额：</strong> 允许容器最多使用500M内存和100M的Swap，并禁用 OOM Killer</p>
<p>　　　　　　　　docker run -d –name nginx03 –memory=”500m” –memory-swap=”600m” –oom-kill-disable nginx</p>
<p>　　　　<strong>2. CPU限额：</strong></p>
<p>　　　　　　　　docker run -d –name nginx04 –cpus=”1.5” nginx      # 允许容器最多使用一个半的CPU</p>
<p>　　　　　　　　<em>docker run -d –name nginx05 –cpus=”.5” nginx      # 允许容器最多使用50%的CPU</em></p>
<p>　　<strong>4、docker管理容器常用命令</strong></p>
<p>　　　　　　　　docker ps         # 仅列出当前运行的容器<br>　　　　　　　　docker ps -l       # 列出最新创建得容器<br>　　　　　　　　docker ps -a       # 列出素有容器(包括 未运行的)</p>
<p>　　　　　　　　docker inspect web4          # 列出指定容器的详细信息</p>
<p>　　　　　　　　<strong>#### 持久化容器</strong></p>
<p>　　　　　　　　docker exec -it web4 bash                # 进入容器web4中<br>　　　　　　　　touch 1.txt 2.txt                         # 对容器进行修改<br>　　　　　　　　docker commit web4 nginx:web4           # 将修改后的web4容器提交为一个新镜像 nginx:web4<br>　　　　　　　　docker images                         # 可以看到 多了一个 TAG标记为 web4 的镜像<br>　　　　　　　　docker run -d –name web4-1 nginx:web4    # 使用刚刚提交的镜像web4创建一个容器web4-1<br>　　　　　　　　docker exec -it web4-1 bash               # 进入web4-1的bash环境</p>
<p>　　　　　　　　<strong>#### 从宿主机复制文件到docker容器</strong><br>　　　　　　　　docker cp nginx.tar web4-1:/home          # 将宿主机nginx.tar文件拷贝到容器web4-1的/home目录中<br>　　　　　　　　docker exec -it web4-1 ls /home            # 在容器web4-1中执行 “ls /home” 命令</p>
<p>　　　　　　　　*<strong>#### 容器常用查询命令</strong><br>　　　　　　　　docker logs web4-1                      # 查看web4-1中控制台日志<br>　　　　　　　　docker port 55f870061ed9                 # 查看指定容器端口映射<br>　　　　　　　　docker top 00f7ddc96622                 # 查看容器中有哪些进程<br>　　　　　　　　docker stats 00f7ddc96622                # 查看容器资源使用情况*</p>
<p>　　　　　　　　<strong>##### 启动、停止、删除 容器</strong><br>　　　　　　　　docker ps -a                           # 列出素有容器(包括 未运行的)<br>　　　　　　　　docker start web                        # 启动容器web　　　　　　<br>　　　　　　　　docker stop web                        # 停止容器web<br>　　　　　　　　docker rm web</p>

        </div>
        <div class="article-copyright">
            
    <blockquote>
        <p>
            版权声明：本文为「子曰无衣」的原创文章，博客内容遵循 署名-非商业性使用-相同方式共享 协议。<br>本文永久链接是：https://wangpdizhi.gitee.io/mhexo/2020/12/15/docker%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/
        </p>
    </blockquote>


        </div>
    </article>
    

    <section id="toc-div" >
        <ol class="toc"><li class="toc-item toc-level-3"><a class="toc-link" href="#docker%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4"><span class="toc-text">docker常用命令</span></a></li></ol>
    </section>
    <section id="gohome" style="display: none;"><a>顶</a></section>

    <script>
        function get_top_by_link(link){
            var hnid = "#" + $(link).attr("data");
            if ($(hnid).length > 0){
                return $(hnid).offset().top;
            }else{
                return 0;
            }
        }
        //go to hn
        function gotohn(link){
            $("html,body").animate({scrollTop: get_top_by_link(link) }, 300);
        }
        //页面滚动
        function update(){
            var scrollH = $(window).scrollTop();
            if($(".toc-link")){
                $(".toc-link").each(function(i,link){
                    var mdHeight = get_top_by_link(link);
                    if(mdHeight <= scrollH + 40){
                        //高亮导航菜单
                        $('.toc-link').removeClass('on');
                        $(link).addClass('on');
                    }
                });
            }
            //返回顶部显隐
            if(scrollH < 200){
                $("#gohome").css("display","none");
            }else{
                $("#gohome").css("display","block");
            }
        }
        $(function(){
            //修复部分锚点从属关系
            if($("#toc-div >li").length > 0){
                $("#toc-div >li").appendTo($("#toc-div >ol:first"));
            }
            //返回顶部
            $('#gohome').click(function(){
                $("html,body").animate({scrollTop: 0}, 300);
                return false;
            })
            //遍历锚点
            $(".toc-link").each(function(i,link){
                $(link).attr("data",$(link).attr('href').substring(1));
                $(link).attr("href","javascript:void(0);");
                $(link).attr("onclick","gotohn(this);");
            })
            //绑定滚动事件
            $(window).bind('scroll', update);
            //初始化toc
            var first_toc = $(".toc-link")[0];
            var first_scroll = get_top_by_link(first_toc);
            var window_scroll = $(window).scrollTop();
            if(window_scroll <= first_scroll){
                $(first_toc).addClass('on');
            }
        })
    </script>

</section>
    </div>
    <footer>
    <div class="outer">
        <div class="inner">
            Powered by <a href="http://prowiki.demopage.icu/" target="_blank">ProWiki</a>
            &copy;2020 子曰无衣<br>
            <a target="_blank" rel="noopener" href="http://beian.miit.gov.cn/">冀ICP备00000000号</a>
        </div>
    </div>
</footer>

<script src="/mhexo/js/custom.js"></script>


    <script>onload_content();</script>

</body>
</html>
